/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dao;

import com.interfaces.ICiudad;
import com.modelo.Ciudad;
import java.util.List;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

/**
 *
 * @author Seysame
 */
public class CiudadDAO extends HibernateDaoSupport implements ICiudad {

    @Override
    public List<Ciudad> listarCiudades() {
         return this.getHibernateTemplate().find("from Ciudad");
    }

    @Override
    public Ciudad buscarCiudad(Ciudad ciudad) {
        
     Query query = this.getSession().createQuery("from Ciudad where id_ciudad = :id ");
     query.setParameter("id",ciudad.getIdCiudad());
     List<Ciudad>listado = query.list();
     if(listado.isEmpty()){
     return null;
     }else{
     return listado.get(0);
     }
    }

    @Override
    public Ciudad registrarCiudad(Ciudad ciudad) {
        this.getHibernateTemplate().saveOrUpdate(ciudad);
       return ciudad;
    
    
    }

    @Override
    public List<Ciudad> listarCiudadesPorNombre(Ciudad ciudad) {
     Query query = this.getSession().createQuery("from Ciudad where nombre like :id ");
     query.setParameter("id","%"+ciudad.getNombre().toUpperCase()+"%");
     List<Ciudad>listado = query.list();
     return listado;
    
    }

  
    
}
